7.JSON-RPCを利用した呼び出し
tag | slide |
---|---|
トップページ | 目次 |
JSON-RPCを利用することで、一般的なHTTPライブラリを使用してbitcoin coreと対話できる。
Basic認証の設定
Bitcoin CoreへのアクセスはBasic認証が必要なので、ユーザーとパスワードを設定する。
- デフォルトでは、Bitcoin Coreが起動するたびに
.bitcoin/.cookie
に一時ユーザーとパスワードが設定され、その認証を利用したローカルからのアクセスのみ許可するようになっている。
- bitcoin-cliはその情報を利用してアクセスする。
- 起動のたびに書き換わるのを読み取るのは面倒なので、ユーザーを設定しましょう。
confファイルへの認証情報の追加
bitcoin.conf
に以下のようにユーザとパスワードを設定する。
rpcuser=[username]
rpcpassword=[password]
bitcoin-cliでこのユーザーを使いたい場合は オプションで指定します。
bitcoin-cli -rpcuser = [username] -rpcpassword=[pasword]
専用scriptを使ったユーザの生成
bitcoinのソースリポジトリ内の share/rpcauth/rpcauth.py
を実行すると、パスワードを自動で生成してくれます。
- python3が必要なのでインストール
$ sudo yum install python3
- 実行例
$ python3 bitcoin/share/rpcauth/rpcauth.py hoge
cURLを利用したアクセス
cURLはhttpリクエストをコマンドラインで作成する際に使われるコマンド。先程のユーザーネームとパスワードを利用してアクセスする。
通常のBASIC認証と同じ方法で認証情報を入力します。
$ curl --user myusername --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getblockchaininfo", "params": [] }' -H 'content-type: text/plain;' http://127.0.0.1:18332/
# パスワードを問われるので入力します
IP制限
デフォルトでは localhost
からのアクセスのみ許可するようになっていますが、 bitcon.conf
に許可するIPを追加することで、ネットワーク外部からのアクセスが可能になります。
rpcalloowip=192.168.0.0/24